The increasing number of wireless devices (e.g., cellular phones, laptops, Blackberrys™, personal digital assistants (PDAs), IPods™, etc.) has increased the need to monitor their use for various purposes. For example, monitoring user interaction with a wireless device provides visibility as to the type of services and applications that may interest a user. Similarly, monitoring the performance of a wireless device enables manufacturers, service providers, content providers, etc. to improve their products and services.
Monitoring the performance of a wireless device allows a manufacturer, service provider, content provider, etc. to detect a potential bug in their product, services, etc., enabling them to take appropriate remedial actions. For example, monitoring a user interaction with a wireless device and detecting an error each time a user takes specific actions may alert the manufacturer of the wireless device of a potential bug in the wireless device. In another example, monitoring the user interaction with a wireless device enables content providers, application developers etc. to determine popular applications, contents and etc. As a result, content, providers, application developers, etc. can tailor their product to satisfy a need in the market as determined by monitoring user interaction and device performance.
Unfortunately, wireless devices have limited memory space to store monitoring information and data, largely due to their size and physical constraint. Accordingly, the monitored information and data on a wireless device can get lost if not transmitted immediately from the wireless device to a data depository location (e.g., a server). However, constantly transmitting the monitored information and data further limits an already limited and valuable bandwidth.
Moreover, monitored information and data are generally stored in an unstructured format. Accordingly, information is stored regardless of whether it is redundant, thereby further limiting the amount of memory space on a wireless device.
Furthermore, storing monitored information and data in an unstructured format presents additional challenges when a new application to be monitored is developed. For example, monitoring and storing information for a new application may require major changes to the metering component since the collected data is in unstructured format. In other words, unstructured format of the collected data presents major challenges to extend the scope of the metering component to a newly developed application.
In general, monitored data is not processed by the wireless device itself because wireless devices have limited processing capabilities and limited power (e.g., battery power). Accordingly, monitored data are usually transmitted to a remote location (e.g., a server) for processing. Unfortunately, transmitting data in an unstructured format is bandwidth inefficient as described above.